package com.swp.oa.sys.dao;

import java.util.List;

import com.swp.oa.sys.pojo.Role;
import com.swp.oa.sys.pojo.User;
import com.swp.oa.sys.pojo.UserRole;
import com.swp.oa.sys.pojo.UserRoleKey;


public interface IUserRoleDao {
    int deleteByPrimaryKey(UserRoleKey key);

    int insert(UserRole record);

    int insertSelective(UserRole record);

    UserRole selectByPrimaryKey(UserRoleKey key);

    int updateByPrimaryKeySelective(UserRole record);

    int updateByPrimaryKey(UserRole record);
    
    UserRole selectByUserId(String userid);

    List<UserRole> selectByRoleId(String roleid);
    
    /**
     * 默认一个用户对应一个角色，但是一个角色可以对应多个用户
     * */
    User selectRolesByUserId(String userid);
    
    User selectRoleByUserId(String userid);
    
    /**
     * 默认一个用户对应一个角色，但是一个角色可以对应多个用户
     * */
    Role selectUsersByRoleId(String roleid);
    
    int deleteByUserId(String userid);
    
    int deleteByRoleId(String roleid);

    Role selectUsersByRoleIds(List<String> roleIds);
    
    List<UserRole> selectByRoleIds(List<String> roleIds);
}